package com.yzs.exam.repository;

/**
 *
 * @author yzs
 * @create 2021-03-16 20:55
 */
public interface BaseMapper<T> {

    int deleteByPrimaryKey(Integer id);

    /**
     * 所有的字段都会添加一遍即使没有值
     * @param record
     * @return
     */
    int insert(T record);

    /**
     * 只给有值的字段赋值（会对传进来的值做非空判断）
     * @param record
     * @return
     */
    int insertSelective(T record);

    T selectByPrimaryKey(Integer id);

    /**
     * 不会把null值插入数据库--避免覆盖之前有值的
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(T record);

    /**
     * 根据传入的对象，全部取值插入数据库--存在覆盖
     * @param record
     * @return
     */
    int updateByPrimaryKey(T record);
}
